package com.sz.biz.logistics.constants;

/**
 * Package: com.sz.biz.logistics.constants<br>
 * Description: 单号功能相关常量集合
 * @author WuHan<br>
 * @date 2017-11-22 9:52<br>
 * @since sys-1.1.3.1
 * @version 1.0
 * @serial
 */
public interface OrderNumberConstants {
    
    /**
     * 正则表达式部分
     */
    class RuleRegex {
    
        /**
         * 纯数字
         */
        
        public static final String PURE_NUMBER = "\\d+";
    
        /**
         * 运单序列号正则表达式
         */
        public static final String WAYBILLNUMBER_REGEX = "^\\d{8}$";
    
        /**
         * 业务类型正则表达式
         */
        public static final String SERVICETYPE_REGEX = "^[1-3]$";
    }
    
    /**
     * 运单号部分
     */
    class WaybillNumber {
    
        /**
         * 默认单号值
         */
        public static final String DEFAULT_NUMBER = "00000000";
    
        /**
         * 物流当前单号值
         */
        public static final String LOGISTIC_HEAD_NUMBER = "logisticNumber";
    
        /**
         * 贸易当前单号值
         */
        public static final String TRADING_HEAD_NUMBER = "tradingNumber";
    
        /**
         * 金融当前单号值
         */
        public static final String FINANCE_HEAD_NUMBER = "financeNumber";
    
        /**
         * 物流当前最近已分配号段起始值
         */
        public static final String LOGISTIC_NEAREST_MARGIN = "logisticMargin";
    
        /**
         * 贸易当前最近已分配号段起始值
         */
        public static final String TRADING_NEAREST_MARGIN = "tradingMargin";
    
        /**
         * 金融最近已分配号段起始值
         */
        public static final String FINANCE_NEAREST_MARGIN = "financeMargin";
    
        /**
         * 物流最近未分配号段起始值
         */
        public static final String LOGISTIC_NEAREST_AVAILABLE_NUMBER = "logisticAvail";
    
        /**
         * 贸易最近未分配号段起始值
         */
        public static final String TRADING_NEAREST_AVAILABLE_NUMBER = "tradingAvail";
    
        /**
         * 金融最近未分配号段起始值
         */
        public static final String FINANCE_NEAREST_AVAILABLE_NUMBER = "financeAvail";
    
        /**
         * 最近一次同步时间
         */
        public static final String LAST_SYCHRONIZATION_TIME = "lastSyncTime";
    }
    
}
